//package com.ocom.aiot.config;
//
//
//import org.springframework.amqp.core.*;
//import org.springframework.context.annotation.Bean;
//import org.springframework.stereotype.Component;
//
//import java.util.HashMap;
//import java.util.Map;
//
//
//@Component
//public class RabbitMqConfig {
//
//	// 业务队列
//	public static final String GOODS_STOCK_CUT_QUEUE = "order_goods_stock_queue";
//	// 业务交换机
//	public static final String ORDER_GOODS_STOCK_EXCHANGE = "order_goods_stock_exchange";
//
//	// 死信队列
//	public static final String ORDER_GOODS_STOCK_DIE_QUEUE = "order_goods_stock_die_queue";
//	// 死信交换机
//	public static final String ORDER_GOODS_STOCK_DIE_EXCHANGE = "order_goods_stock_die_exchange";
//
//
//	//声明一个死信队列用来存放死信消息
//	@Bean
//	public Queue orderGoodsStockDieQueue() {
//		return new Queue(ORDER_GOODS_STOCK_DIE_QUEUE,true,false,false,null);
//	}
//	//声明一个死信交换机
//	@Bean
//	public TopicExchange orderGoodsStockDieExchange() {
//		return new TopicExchange(ORDER_GOODS_STOCK_DIE_EXCHANGE,true,true);
//	}
//
//	//将死信队列和死信的交换机绑定
//	@Bean
//	public Binding dieQueueBindingDieExchange() {
//		return BindingBuilder.bind(orderGoodsStockDieQueue()).
//				to(orderGoodsStockDieExchange()).
//				with("dieRoutingKeys");
//	}
//
//
//
//	//声明一个业务队列
//	@Bean
//	public Queue orderGoodsStockQueue() {
//		Map<String, Object> args = new HashMap<>();
//		// 声明  死信队列Exchange
//		args.put("x-dead-letter-exchange", ORDER_GOODS_STOCK_DIE_EXCHANGE);
//		// 设置死信routingKey
//		args.put("x-dead-letter-routing-key", "dieRoutingKeys");
//
//		//优先级队列
//		args.put("x-max-priority", 100);
//
//		return new Queue(
//				GOODS_STOCK_CUT_QUEUE,
//				true,
//				false,
//				false, args);
//	}
//
//	//声明一个业务交换机
//	@Bean
//	public TopicExchange orderGoodsStockExchange() {
//		return new TopicExchange(ORDER_GOODS_STOCK_EXCHANGE);
//	}
//
//	//将业务队列和业务交换机绑定
//	@Bean
//	public Binding bindingDirect() {
//		return BindingBuilder.bind(orderGoodsStockQueue()).to(orderGoodsStockExchange()).with("routingKeys");
//	}
//
//}
//
